package model

import "database/sql"

type User struct {
	Uid             int    `db:"uid" json:"uid"`
	Sex             int    `db:"sex" json:"sex"`
	PhoneArea       int    `db:"phone_area" json:"phone_area"`
	GroupId         int    `db:"group_id" json:"group_id"`
	MainGroupId     int    `db:"main_group_id" json:"main_group_id"`
	KuoZhanGroupDay int    `db:"kuozhan_group_day" json:"kuozhan_group_day"`
	CommonGroupId   int    `db:"common_group_id" json:"common_group_id"`
	Level           int    `db:"level" json:"level"`
	Threads         int    `db:"threads" json:"threads"`
	Point           int    `db:"point" json:"point"`
	LastLoginTime   int    `db:"last_login_time" json:"last_login_time"`
	LoginCount      int    `db:"login_count" json:"login_count"`
	TypeId          int    `db:"type_id" json:"type_id"`
	UpdateTime      int    `db:"update_time" json:"update_time"`
	CreateUid       int    `db:"create_uid" json:"create_uid"`
	CreateTime      int    `db:"create_time" json:"create_time"`
	CreateIp        int    `db:"create_ip" json:"create_ip"`
	Status          int    `db:"status" json:"status"`
	AdminStatus     int    `db:"admin_status" json:"admin_status"`
	Source          int    `db:"source" json:"source"`
	ChangePwd       int    `db:"change_pwd" json:"change_pwd"`
	Password        string `db:"password" json:"password"`
	Email           string `db:"email,omitempty" json:"email"`
	Salt            string `db:"salt" json:"salt"`
	Nickname        string `db:"nickname,omitempty" json:"nickname"`
	PhoneNumber     string `db:"phone_number" json:"phone_number"`
	Signature       string `db:"signature,omitempty" json:"signature"`
	Pinyin          string `db:"pinyin" json:"pinyin"`
	UserPic         string `db:"userpic" json:"userpic"`
	LastLoginIp     string `db:"last_login_ip" json:"last_login_ip"`
	ActiveCode      sql.NullString `db:"activecode,omitempty" json:"activecode"`
	Did             string `db:"did,omitempty" json:"did"`
	RegistrationId  string `db:"registration_id,omitempty" json:"registration_id"`
	AndriodDid      string `db:"andriod_did,omitempty" json:"andriod_did"`
}

type RegisterUser struct {
	Salt            string 	`db:"salt,omitempty" json:"salt"`
	Nickname        string 	`db:"nickname,omitempty" json:"nickname"`
	PinYin        	string 	`db:"pinyin,omitempty" json:"pinyin"`
	Password        string 	`db:"password,omitempty" json:"password"`
	PhoneArea       string  `db:"phone_area,omitempty" json:"phone_area"`
	CreateIp        int64   `db:"create_ip,omitempty" json:"create_ip"`
	PhoneNumber     string 	`db:"phone_number,omitempty" json:"phone_number"`
}

type UpdatarUser struct {
	Uid            	int 	`db:"uid,omitempty" json:"uid"`
	Salt            string 	`db:"salt,omitempty" json:"salt"`
	Nickname        string 	`db:"nickname,omitempty" json:"nickname"`
	PinYin        	string 	`db:"pinyin,omitempty" json:"pinyin"`
	Password        string 	`db:"password,omitempty" json:"password"`
	UserPic 		string 	`db:"userpic,omitempty" json:"userpic"`
	ChangePwd 		int 	`db:"change_pwd,omitempty" json:"change_pwd"`
	UpdateTime 		int64 	`db:"update_time" json:"update_time"`
}

type UserInfo struct {
	Uid            	int 	`db:"uid,omitempty" json:"uid"`
	Nickname        string 	`db:"nickname,omitempty" json:"nickname,omitempty"`
	GroupID         int 	`db:"group_id,omitempty" json:"group_id,omitempty"`
	UserPic 		string 	`db:"userpic,omitempty" json:"userpic,omitempty"`
	Point 			int 	`db:"point,omitempty" json:"point"`
	TotalSize 		sql.NullInt64 	`db:"total_size,omitempty" json:"total_size,omitempty"`
	TotalShareSize 	string 	`json:"totalShareSize,omitempty"`
	GroupName 		string 	`json:"group_name,omitempty"`
	RouteVersion 	string 	`json:"route_version,omitempty"`
	ShareModel 		int 	`json:"share_model"`
	RouterName 		string 	`json:"router_name,omitempty"`
}

